home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol117 / introduc.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-12-15  |  12.6 KB  |  390 lines

  1. 10  REM Documentation for the Genealogy ON DISPLAY Programs
  2. 20  REM All data is in the form of DATA statements.
  3. 30  REM By:  Melvin O. Duke.  Updated December 1984.
  4. 40  DATA Genealogy
  5. 50  DATA User's Manual
  6. 60  DATA -5
  7. 70  DATA 1
  8. 80  INDENT = 0
  9. 90  DASHES$ = "+"+STRING$(54,45)+"+"
  10. 100  TRIM.LINE$ = "(Trim-line)"
  11. 110  REM Program begins here
  12. 120  READ TITLE$, DOC.NAME$, PAGE.NO, LINE.NO
  13. 130  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  14. 140  GOSUB 500  'For trim line and heading space
  15. 150  FOR I = 1 TO 6 : LPRINT : NEXT I
  16. 160  LPRINT CHR$(14);  'Set Expanded Print
  17. 170  LPRINT TAB(TAB.POS-2);TITLE$
  18. 180  LPRINT CHR$(18);  'Return to normal
  19. 190  FOR I = 1 TO 3 : LPRINT : NEXT I
  20. 200  LPRINT CHR$(27); "E"; 'Set Emphasized mode
  21. 210  LPRINT TAB(TAB.POS+12);"ON DISPLAY"
  22. 220  LPRINT CHR$(27); "F"; 'Return to normal
  23. 222  LPRINT : LPRINT : LPRINT
  24. 224  LPRINT TAB(TAB.POS+11);"Version 3.0"
  25. 230  FOR I = 1 TO 11 : LPRINT : NEXT I
  26. 240  LPRINT TAB(TAB.POS+10); DOC.NAME$
  27. 250  LINE.NO = LINE.NO + 27
  28. 260  '
  29. 270  READ REPLY$
  30. 280  IF LEFT$(REPLY$,1) = "." THEN GOSUB 850: GOTO 270
  31. 290  IF LINE.NO > 44 THEN GOSUB 610
  32. 300  REM Print the line if not a command
  33. 303  REM First, change tildes to quotes
  34. 304  FOR Q = 1 TO LEN(REPLY$)
  35. 305   IF MID$(REPLY$,Q,1)="~"THEN MID$(REPLY$,Q,1)=CHR$(34)
  36. 306  NEXT Q
  37. 310  LPRINT TAB(TAB.POS);REPLY$
  38. 320  LINE.NO = LINE.NO + 1
  39. 330  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  40. 340  GOTO 270
  41. 350  REM Data for the Copyright Page
  42. 354  DATA ".pa"
  43. 358  DATA "Anyone may request a copy of these"
  44. 362  DATA "programs by sending a blank, double-"
  45. 366  DATA "sided, double-density diskette to the"
  46. 370  DATA "author of the programs."
  47. 378  DATA ".sp"
  48. 382  DATA "An addressed, postage-paid return"
  49. 386  DATA "mailer must accompany the diskette (no"
  50. 390  DATA "exceptions, please).
  51. 394  DATA ".sp"
  52. 398  DATA "A copy of the programs with documenta-"
  53. 402  DATA "tion will be sent by return mail."
  54. 410  DATA ".vt 2"
  55. 415  DATA "Users are encouraged to copy and share"
  56. 420  DATA "the programs with others."
  57. 430  DATA ".vt 6"
  58. 434  DATA "If you are using these programs, and"
  59. 438  DATA "finding them of value, your contribution"
  60. 442  DATA "($35 suggested) will be anticipated."
  61. 446  DATA ".sp"
  62. 450  DATA "Melvin O. Duke"
  63. 454  DATA "P. O. Box 20836"
  64. 458  DATA "San Jose, CA  95160"
  65. 462  DATA ".vt 4"
  66. 466  DATA "Copyright (c) 1983, 1984, 1985, by:"
  67. 470  DATA "Melvin O. Duke."
  68. 474  DATA ".sp"
  69. 478  DATA "All rights reserved."
  70. 482  '
  71. 500  REM Top of each page routine
  72. 510  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  73. 520  LPRINT
  74. 530  LPRINT TAB(30); TRIM.LINE$
  75. 540  LPRINT DASHES$ 'Dashes
  76. 550  FOR I = 1 TO 6
  77. 560   LPRINT
  78. 570  NEXT I
  79. 580  LINE.NO = LINE.NO + 6
  80. 590  RETURN
  81. 600  '
  82. 610  REM Bottom of each page Routine
  83. 620  IF PAGE.NO < 1 THEN LPRINT : LPRINT : LPRINT : GOTO 740
  84. 630  LPRINT TAB(TAB.POS); STRING$(40,45)  'on line 46
  85. 640  LPRINT TAB(TAB.POS+3); TITLE$+" ON DISPLAY.  Version 3.0" 'on line 47
  86. 650  IF PAGE.NO MOD 2 = 1 THEN 690
  87. 660  LPRINT TAB(TAB.POS);"Page";PAGE.NO;
  88. 670  LPRINT TAB(TAB.POS+27);"User's Manual"
  89. 680  GOTO 740
  90. 690  LPRINT TAB(TAB.POS); "User's Manual";
  91. 700  IF PAGE.NO < 10 THEN DELTA = 34
  92. 710  IF PAGE.NO >  9 THEN DELTA = 33
  93. 720  IF PAGE.NO > 99 THEN DELTA = 32
  94. 730  LPRINT TAB(TAB.POS+DELTA); "Page"; PAGE.NO  'on line 48
  95. 740  LPRINT : LPRINT : LPRINT
  96. 750  LPRINT DASHES$ 'dashes after 51
  97. 760  LPRINT TAB(30); TRIM.LINE$
  98. 770  LPRINT CHR$(12);
  99. 780  PAGE.NO = PAGE.NO + 1
  100. 790  LINE.NO = 1
  101. 800  IF REPLY$ = ".eof" THEN 820  'Bypass after last page
  102. 810  GOSUB 500  'For top of next page
  103. 820  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  104. 830  RETURN
  105. 840  '
  106. 850  REM Command Processor
  107. 860  IF LEFT$(REPLY$,3) = ".h1" THEN 960
  108. 870  IF LEFT$(REPLY$,3) = ".h2" THEN 1100
  109. 880  IF LEFT$(REPLY$,3) = ".h3" THEN 1210
  110. 890  IF LEFT$(REPLY$,3) = ".sp" THEN 1320
  111. 900  IF LEFT$(REPLY$,4) = ".eof" THEN 1370
  112. 910  IF LEFT$(REPLY$,3) = ".pa" THEN 1410
  113. 915  IF LEFT$(REPLY$,3) = ".pn" THEN PAGE.NO = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3)) : RETURN
  114. 920  IF LEFT$(REPLY$,3) = ".vt" THEN 1480
  115. 930  IF LEFT$(REPLY$,3) = ".pk" THEN 1590
  116. 940  IF LEFT$(REPLY$,3) = ".in" THEN 1720
  117. 950  STOP
  118. 960  REM Head 1 Processor
  119. 970  FOR I = LINE.NO TO 44
  120. 980   LPRINT
  121. 990  NEXT I
  122. 1000  GOSUB 610  'Bottom of page Routine
  123. 1010  IF PAGE.NO MOD 2 = 0 THEN GOSUB 1410  'For h1 on Odd pages
  124. 1020  LPRINT CHR$(14);  'Set expanded print
  125. 1030  IF PAGE.NO MOD 2 = 0 THEN ADJUST = -4 ELSE ADJUST = -7
  126. 1040  LPRINT TAB(TAB.POS+ADJUST); RIGHT$(REPLY$,LEN(REPLY$)-4)
  127. 1050  LPRINT CHR$(18);  'Return to normal
  128. 1060  LINE.NO = LINE.NO+1
  129. 1070  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  130. 1080  RETURN
  131. 1090  '
  132. 1100  REM Head 2 Processor
  133. 1110  IF LINE.NO = 7 THEN 1130 'skip spacing if at top of page
  134. 1120  IF LINE.NO > 43 THEN GOSUB 1410 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2
  135. 1130  LPRINT CHR$(27); "E"; 'Set emphasized print
  136. 1140  LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-4)
  137. 1150  LPRINT CHR$(27); "F"; 'Return to normal
  138. 1160  LPRINT
  139. 1170  LINE.NO = LINE.NO + 2
  140. 1180  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  141. 1190  RETURN
  142. 1200  '
  143. 1210  REM Head 3 Processor
  144. 1220  IF LINE.NO = 7 THEN 1240 'skip spacing if at top of page
  145. 1230  IF LINE.NO > 43 THEN GOSUB 1410 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2
  146. 1240  LPRINT CHR$(27); "E"; 'Set emphasized print
  147. 1250  LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-4)
  148. 1260  LPRINT CHR$(27); "F"; 'Return to normal
  149. 1270  LPRINT
  150. 1280  LINE.NO = LINE.NO + 2
  151. 1290  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  152. 1300  RETURN
  153. 1310  '
  154. 1320  REM Single Space Processor
  155. 1330  IF LINE.NO = 7 THEN 1350
  156. 1340  IF LINE.NO > 44 THEN GOSUB 1410 ELSE LPRINT : LINE.NO = LINE.NO + 1
  157. 1350  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  158. 1360  RETURN
  159. 1370  REM End of File Processor
  160. 1380  GOSUB 1410 'Bottom of Page
  161. 1390  LPRINT CHR$(12);
  162. 1400  GOTO 3920
  163. 1410  REM Page Eject Processor
  164. 1420  FOR I = LINE.NO TO 44
  165. 1430   LPRINT
  166. 1440   LINE.NO = LINE.NO + 1
  167. 1450  NEXT I
  168. 1460  GOSUB 610  'Bottom of Page Processing
  169. 1470  RETURN
  170. 1480  REM Vertical Tab Processor
  171. 1490  IF LINE.NO = 7 THEN 1580
  172. 1500  IF LINE.NO > 44 THEN GOSUB 610  'End of page
  173. 1510  QTY = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3))
  174. 1520  FOR I = 1 TO QTY
  175. 1530   LPRINT
  176. 1540   LINE.NO = LINE.NO + 1
  177. 1550   IF LINE.NO > 44 THEN I = QTY
  178. 1560  NEXT I
  179. 1570  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  180. 1580  RETURN
  181. 1590  REM Pack Processor
  182. 1600  IF LINE.NO > 44 THEN GOSUB 610
  183. 1610  IF TAB.POS = 8 THEN ADJUST = 4
  184. 1620  IF TAB.POS = 13 THEN ADJUST = 7
  185. 1630  TAB.POS = TAB.POS + ADJUST + INDENT
  186. 1640  LPRINT CHR$(15); 'Packed printing
  187. 1650  WIDTH "lpt1:", 132 'set condensed width
  188. 1660  LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-3)
  189. 1670  LPRINT CHR$(18); 'Return to normal
  190. 1680  WIDTH "lpt1:", 80  'return to normal
  191. 1690  LINE.NO = LINE.NO + 1
  192. 1700  IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  193. 1710  RETURN
  194. 1720  REM Indent Processor
  195. 1730  INDENT = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3))
  196. 1740  RETURN
  197. 2000  DATA ".h1 INTRODUCTION"
  198. 2010  DATA ".pn 1"
  199. 2020  DATA ".h2 OVERVIEW"
  200. 2030  DATA "The Genealogy ON DISPLAY programs pro-"
  201. 2040  DATA "vide the user with the capability to"
  202. 2050  DATA "create and maintain data files which"
  203. 2060  DATA "contain information about his or her"
  204. 2070  DATA "ancestors and relatives, to interro-"
  205. 2080  DATA "gate the contents of the files, and to"
  206. 2090  DATA "obtain printouts of pedigree charts,"
  207. 2100  DATA "family group sheets, and descendents"
  208. 2110  DATA "charts in standard formats, using the"
  209. 2120  DATA "information from those files."
  210. 2130  DATA ".sp"
  211. 2140  DATA "Other than the total size of the files,"
  212. 2150  DATA "there is no practical limit to the"
  213. 2160  DATA "number of generations contained in the"
  214. 2170  DATA "files, or capable of being displayed or"
  215. 2180  DATA "printed."
  216. 2190  DATA ".h2 CAPABILITIES"
  217. 2200  DATA "Following are the capabilities of the"
  218. 2210  DATA "the group of programs known as the"
  219. 2220  DATA "Genealogy ON DISPLAY programs."
  220. 2230  DATA ".pa"
  221. 2240  DATA ".h3 Display the Genealogy."
  222. 2250  DATA "The program 'display' is one of the"
  223. 2260  DATA "four principal programs in the Genealogy"
  224. 2270  DATA "ON DISPLAY set of programs.  (Note: All"
  225. 2280  DATA "of the other programs supplement these"
  226. 2290  DATA "four principal programs.)"
  227. 2300  DATA ".sp"
  228. 2310  DATA "By using the 'display' program, a user"
  229. 2320  DATA "may display personal information, pedi-"
  230. 2330  DATA "grees, and family group information for"
  231. 2340  DATA "any person whose records are in the data"
  232. 2350  DATA "files."
  233. 2360  DATA ".h2 Print Pedigree Charts (Family Trees)"
  234. 2370  DATA "The program 'pedigree' is the second of"
  235. 2380  DATA "the four principal programs in the"
  236. 2390  DATA "Genealogy ON DISPLAY set of programs."
  237. 2400  DATA ".sp"
  238. 2410  DATA "By using this program, a user may obtain"
  239. 2420  DATA "a printout of a pedigree chart (family"
  240. 2430  DATA "tree) for any person whose records are"
  241. 2440  DATA "in the data files."
  242. 2450  DATA ".pa"
  243. 2460  DATA ".h2 Print Family Group Sheets"
  244. 2470  DATA "The program 'family' is the third of the"
  245. 2480  DATA "four principal programs in the Genealogy"
  246. 2490  DATA "ON DISPLAY set of programs."
  247. 2500  DATA ".sp
  248. 2510  DATA "By using this program, a user may obtain"
  249. 2520  DATA "a printout of a family group sheet for"
  250. 2530  DATA "any person whose records are in the data"
  251. 2540  DATA "files."
  252. 2550  DATA ".h2 Produce Descendents Charts"
  253. 2560  DATA "The program 'descend' is the fourth of"
  254. 2570  DATA "the four principal programs in the"
  255. 2580  DATA "Genealogy ON DISPLAY set of programs."
  256. 2590  DATA ".sp
  257. 2600  DATA "By using this program, a user may dis-"
  258. 2610  DATA "play (and optionally obtain a printout)"
  259. 2620  DATA "of the descendents of any person whose"
  260. 2630  DATA "records are in the data files."
  261. 2640  DATA ".h3 Create the Data Files."
  262. 2650  DATA "Three programs, the 'creatper', the"
  263. 2660  DATA "'creatmar', and the 'creatord' programs,"
  264. 2670  DATA "permit creation of the records in the"
  265. 2680  DATA "'persfile', the 'marrfile', and the"
  266. 2690  DATA "'ordfile' respectively."
  267. 2700  DATA ".pa"
  268. 2710  DATA ".h3 Update the Data Files."
  269. 2720  DATA "Three programs, the 'updatper',  the"
  270. 2730  DATA "'updatmar', and the 'updatord' programs,"
  271. 2740  DATA "permit update of the records in the"
  272. 2750  DATA "'persfile', the 'marrfile', and the"
  273. 2760  DATA "'ordfile' respectively."
  274. 2770  DATA ".h3 Create the Indexes."
  275. 2780  DATA "Two programs, the 'indexpc' and the"
  276. 2790  DATA "'indexmar' programs, permit creation of"
  277. 2800  DATA "the indexes 'pcindex' and 'mindex'"
  278. 2810  DATA "respectively."
  279. 2820  DATA ".sp"
  280. 2830  DATA "Note:  These two indexes are essential"
  281. 2840  DATA "to the 'display', 'pedigree', and"
  282. 2850  DATA "'family' programs, as they provide"
  283. 2860  DATA "all of the linkages between persons,"
  284. 2870  DATA "ancestors, and families."
  285. 2880  DATA ".h3 List the Records in the Files."
  286. 2890  DATA "Two programs, the 'listper' and the"
  287. 2900  DATA "'listmar' programs, provide listings"
  288. 2910  DATA "of the records in the 'persfile' and"
  289. 2920  DATA "'marrfile', respectively.  These are"
  290. 2930  DATA "one-line summary listings of the"
  291. 2940  DATA "records in the files."
  292. 2950  DATA ".pa"
  293. 2960  DATA ".h3 Printing the Contents of the Files."
  294. 2970  DATA "Two programs, the 'printper', and the"
  295. 2980  DATA "'printmar' programs, provide for print-"
  296. 2990  DATA "ing individual records or for complete"
  297. 3000  DATA "printouts of the files.  The 'printper"
  298. 3010  DATA "program provides a combined printout"
  299. 3020  DATA "of the 'persfile' and the 'ordfile'."
  300. 3030  DATA "The 'printmar' program provides a"
  301. 3040  DATA "printout of the 'marrfile'."
  302. 3050  DATA ".h3 Alphabetical Lists."
  303. 3060  DATA "Two programs, the 'alphaper', and the"
  304. 3070  DATA "'alphamar' programs, provide alphabetical"
  305. 3080  DATA "listings of the persons in the Persons"
  306. 3090  DATA "File, and marriages in the Marriages"
  307. 3100  DATA "File, respectively.  Note:  These two"
  308. 3110  DATA "lists are very helpful in permitting the"
  309. 3120  DATA "user to locate records of persons and of"
  310. 3130  DATA "marriages."
  311. 3140  DATA ".h3 Parent/Child Index List"
  312. 3150  DATA "One program, the 'listpci' program,"
  313. 3160  DATA "provides a list of all persons who are"
  314. 3170  DATA "parents, together with the children of"
  315. 3180  DATA "those persons."
  316. 3190  DATA ".pa"
  317. 3200  DATA ".h2 BENEFITS/ADVANTAGES"
  318. 3210  DATA "The Genealogy ON DISPLAY programs pro-"
  319. 3220  DATA "vide an organized, cohesive set of"
  320. 3230  DATA "programs, to permit a user to create and"
  321. 3240  DATA "maintain that person's genealogical"
  322. 3250  DATA "information."
  323. 3260  DATA ".sp"
  324. 3270  DATA "One major advantage of this technique is"
  325. 3280  DATA "that the user only enters information a"
  326. 3290  DATA "single time, in a single place.  Hence,"
  327. 3300  DATA "there is never any discrepancy between"
  328. 3310  DATA "separate reportings of the data."
  329. 3320  DATA ".sp"
  330. 3330  DATA "The programs use the relationships be-"
  331. 3340  DATA "tween persons for extracting and report-"
  332. 3350  DATA "ing the data in meaningful formats."
  333. 3360  DATA ".sp"
  334. 3370  DATA "Since most genealogical information is"
  335. 3380  DATA "not complete, whenever new information"
  336. 3390  DATA "is obtained, the user may readily add"
  337. 3400  DATA "that new information (or change any"
  338. 3410  DATA "erroneous old information) as the user"
  339. 3420  DATA "desires."
  340. 3430  DATA ".h2 RESULTS"
  341. 3440  DATA "The final results are a well-organized"
  342. 3450  DATA "set of data files and indices, which"
  343. 3460  DATA "permit a user to obtain related infor-"
  344. 3470  DATA "mation in formats which are meaningful"
  345. 3480  DATA "to that user."
  346. 3490  DATA ".pa"
  347. 3500  DATA "Pedigree Charts, Family Group Sheets and"
  348. 3510  DATA "Descendents Charts, as well as Personal"
  349. 3520  DATA "information about each individual are"
  350. 3530  DATA "are available upon demand, either on the"
  351. 3540  DATA "printer or on the display."
  352. 3550  DATA ".h2 REQUIREMENTS"
  353. 3560  DATA ".h3 Hardware Requirements."
  354. 3570  DATA ".sp"
  355. 3580  DATA "IBM PCjr, PC, or PC/XT, with:"
  356. 3590  DATA ".sp"
  357. 3600  DATA "  One Double-sided Diskette Drive."
  358. 3610  DATA ".sp"
  359. 3620  DATA "  Either the IBM Graphics Printer, the"
  360. 3630  DATA "  IBM Matrix Printer (or equivalents)."
  361. 3640  DATA ".sp"
  362. 3650  DATA "    Note: The IBM Graphics Printer"
  363. 3660  DATA "    and the IBM Matrix Printer"
  364. 3670  DATA "    provide for condensed printing"
  365. 3680  DATA "    of Pedigree Charts and Family"
  366. 3690  DATA "    Group Sheets."
  367. 3700  DATA ".sp"
  368. 3710  DATA "    For full-sized printouts of the"
  369. 3720  DATA "    Pedigree Charts and Family"
  370. 3730  DATA "    Group Sheets, a 132 character"
  371. 3740  DATA "    (10 char/in) printer is required."
  372. 3750  DATA ".sp"
  373. 3760  DATA "  At least 96K of Memory (128 K is"
  374. 3770  DATA "  recommended)."
  375. 3780  DATA ".sp"
  376. 3790  DATA "  Either the IBM Color Display,"
  377. 3800  DATA "  the IBM Monochrome Display (or"
  378. 3810  DATA "  equivalents)."
  379. 3820  DATA ".pa"
  380. 3830  DATA ".h3 Software Requirements."
  381. 3840  DATA ".sp"
  382. 3850  DATA "IBM PC-DOS."
  383. 3860  DATA "  Version 2.1  (or Version 2.0 on"
  384. 3870  DATA "    the IBM PC or the IBM PC/XT).
  385. 3880  DATA ".sp"
  386. 3890  DATA "BASIC"
  387. 3900  DATA "  (on Cartridge or Diskette)."
  388. 3910  DATA ".eof"
  389. 3920  END
  390.